package object;

import java.util.Objects;

/**
 * 使用当前类测试常被子类重写的Object中两个方法：toString和equals
 */
public class Point {
        private int x;
        private int y;

        /*
        有参构造器：ALT+INS
         */
        public Point(int x, int y) {
                this.x = x;
                this.y = y;
        }

        public int getX() {
                return x;
        }

        public void setX(int x) {
                this.x = x;
        }

        public int getY() {
                return y;
        }

        public void setY(int y) {
                this.y = y;
        }

        @Override
        public String toString() {
                return "Point{" +
                        "x=" + x +
                        ", y=" + y +
                        '}';
        }

        @Override
        public boolean equals(Object o) { //p.equals(p2)        p:this  p2:
                if (this == o) return true;
                if (o == null || getClass() != o.getClass()) return false;
                Point point = (Point) o;
                return x == point.x && y == point.y;
        }

        @Override
        public int hashCode() {
                return Objects.hash(x, y);
        }
}















